COMP 9243 — Week 4 ( 17 s 1 )
نویسندگان
چکیده
This lecture deals with one of the fundamental issues encountered when constructing a system made up of independent communicating processes: dealing with time and making sure that processes do the right thing at the right time. In essence this comes down to allowing processes to synchronise and coordinate their actions. Coordination refers to coordinating the actions of separate processes relative to each other and allowing them to agree on global state (such as values of a shared variable). Synchronisation is coordination with respect to time, and refers to the ordering of events and execution of instructions in time. Examples of synchronisation include ordering distributed events in a log file and ensuring that a process performs an action at a particular time. Examples of coordination include ensuring that processes agree on what actions will be performed (e.g., money will be withdrawn from the account), who will be performing actions (e.g., which replica will process a request), and the state of the system (e.g., the elevator is stopped). Synchronisation and coordination play an important role in most distributed algorithms (i.e., algorithms intended to work in a distributed environment). In particular, some distributed algorithms are used to achieve synchronisation and coordination, while others assume the presence of synchronisation or coordination mechanisms. Discussions of distributed algorithms generally assume one of two timing models for distributed systems. The first is a synchronous model, where the time to perform all actions, communication delay, and clock drift on all nodes, are bounded. In asynchronous distributed systems there are no such bounds. Most real distributed systems are asynchronous, however, it is easier to design distributed algorithms for synchronous distributed systems. Algorithms for asynchronous systems are always valid on synchronous systems, however, the converse is not true.
منابع مشابه
COMP 9243 — Week 6 ( 17 s 1 )
In previous lectures we’ve mentioned that one of the reasons that distributed systems are different (and more complicated) than nondistributed systems is due to partial failure of system components. We’ve mentioned that dependability is an important challenge in designing and building distributed systems and that the presence of failure often makes achieving transparency (e.g., for RPC) difficu...
متن کاملCOMP 9243 — Week 1 ( 17 s 1 )
This certainly is the ideal form of a distributed system, where the “implementation detail” of building a powerful system out of many simpler systems is entirely hidden from the user. Are there any such systems? Unfortunately, when we look at the reality of networked computers, we find that the multiplicity of system components usually shines through the abstractions provided by the operating s...
متن کاملCOMP 9243 — Week 5 ( 17 s 1 )
Synchronisation and Coordination (Part 2) Transactions A transaction can be regarded as a set of server operations that are guaranteed to appear atomic in the presence of multiple clients and partial failure. The concept of a transaction originates from the database community as a mechanism to maintain the consistency of databases. Transaction management is build around two basic operations: Be...
متن کاملThe University of New South Wales School of Computer Science & Engineering COMP 9243 — Week 1 ( 08 s 1 )
This certainly is the ideal form of a distributed system, where the “implementation detail” of building a powerful system out of many simpler systems is entirely hidden from the user. Are there any such systems? Unfortunately, when we look at the reality of networked computers, we find that the multiplicity of system components usually shines through the abstractions provided by the operating s...
متن کاملCOMP 9243 — Week 8 c ( 17 s 1 )
Middleware consists of a layer of services added between those of a regular network OS and the actual applications. These services facilitate the implementation of distributed applications and attempt to hide the heterogeneity of the underlying system architectures (both hardware and software). Middleware is usually based on a particular paradigm, or model, for describing distribution and commu...
متن کامل